Component({
    externalClasses: [ "i-class" ],
    properties: {
        current: {
            type: Number,
            value: -1,
            observer: "_updateDataChange"
        },
        status: {
            type: String,
            value: ""
        },
        direction: {
            type: String,
            value: "horizontal"
        }
    },
    relations: {
        "../step/index": {
            type: "child",
            linked: function() {
                this._updateDataChange();
            },
            linkChanged: function() {
                this._updateDataChange();
            },
            unlinked: function() {
                this._updateDataChange();
            }
        }
    },
    methods: {
        _updateDataChange: function() {
            var t = this, e = this.getRelationNodes("../step/index"), a = e.length;
            a > 0 && e.forEach(function(e, n) {
                e.updateDataChange({
                    len: a,
                    index: n,
                    current: t.data.current,
                    direction: t.data.direction
                });
            });
        }
    }
});